#ifndef STAFF_H
#define STAFF_H
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include "company.h"
typedef struct staff
{
    char name[128];       // 员工姓名
    char sex[20];         // 员工性别:男 女
    char age[20];         // 员工年龄
    char salary[128];     // 员工薪水
    char department[128]; // 员工部门
    char change[128];     // 员工申请更换的部门
} STAFF;
/********************************************************************************************/
// 加载员工信息
void LoadStaffToList(NODE *pStaffList, const char *filename);
// 保存用户结构体
void SaveStaff(STAFF *pStaff, const char *filename);

// 保存所有用户用于修改
void SaveAllStaff(NODE *pUerList, const char *filename);

/********************************************************************************************/
/*--------------------------------------------员工信息操作函数-----------------------------------------------------------*/
// 管理员操作
void Administrator_operate(const char *filename);

// 普通员工操作
void Staff_operate(const char *filename);

// 修改员工信息
void Change_message(NODE *pStaffList, const char *filename);
// 添加员工信息
void Add_message(NODE *pStaffList, const char *filename);
// 删除员工
void Delete_message(NODE *pStaffList, const char *filename);
// 显示所有员工信息
void Show_message(NODE *pStaffList);
// 显示个人所有信息
void Show_person(NODE *pStaffList);
// 更改员工的部门根据员工申请的部门，并且把申请的部门一栏用“空”字表示已经更换
void Approve_apply(NODE *pStaffList, const char *filename);
// 查看工资
void Show_salary(NODE *pStaffList);
// 查看所在部门
void Show_department(NODE *pStaffList);
// 申请更换部门，初始为"空"字字符串,申请后就更换成要申请的部门字符串
void Apply_change_Dp(NODE *pStaffList, const char *filename);
// 保存所有员工信息
void SaveAllStaff(NODE *pStaffList, const char *filename);
// 保存员工信息
void SaveStaff(STAFF *Staff, const char *filename);

void PrintStaffList(NODE *pStaffList);
#endif